<h2>mach_port_get_attributes</h2>
<hr>
<p>
<strong>Function</strong> - Return information about target port as specified by the caller.
<h3>SYNOPSIS</h3>
<pre>
<strong>kern_return_t   mach_port_get_attributes</strong>
                <strong>(ipc_space_t</strong>                               <var>task</var>,
                 <strong>mach_port_name_t</strong>                          <var>name</var>,
                 <strong>mach_port_flavor_t</strong>                      <var>flavor</var>,
                 <strong>mach_port_info_t</strong>                     <var>port_info</var>,
                 <strong>mach_msg_type_number_t</strong>        <var>*port_info_count</var><strong>);</strong>
</pre>
<h3>PARAMETERS</h3>
<dl>
<p>
<dt> <var>task</var> 
<dd>
[in task send right]
The task holding a receive right to the port in
question.
<p>
<dt> <var>name</var> 
<dd>
[in scalar]
<var>task</var>'s name for the port.
<p>
<dt> <var>flavor</var> 
<dd>
[in scalar]
The type of information to be returned.  Valid values are:
<dl>
<p>
<dt> <strong>MACH_PORT_LIMITS_INFO</strong>
<dd>
Returns the resource limits for the port.  The declaration of 
this data is found in structure <strong>mach_port_limits</strong>.
<p>
<dt> <strong>MACH_PORT_RECEIVE_STATUS</strong>
<dd>
Returns random information about the rights and messages
associated with the port.  The declaration of this data is found in 
structure <strong>mach_port_status</strong>.
</dl>
<p>
<dt> <var>port_info</var> 
<dd>
[out structure]
Information about the specified port.
<p>
<dt> <var>port_info_count</var> 
<dd>
[in/out scalar]
On input, the maximum size of the buffer; on output, the 
size returned (in natural-sized units).
</dl>
<h3>DESCRIPTION</h3>
<p>
The <strong>mach_port_get_attributes</strong> function returns an information
structure of type <var>flavor</var>.
<h3>NOTES</h3>
<p>
This interface is machine word length specific because of the port name
parameter in the <strong>MACH_PORT_RECEIVE_STATUS</strong> structure return.
<h3>RETURN VALUES</h3>
<dl>
<p>
<dt> <strong>KERN_INVALID_NAME</strong>
<dd>
<var>name</var> did not denote a right.
<p>
<dt> <strong>KERN_INVALID_RIGHT</strong>
<dd>
<var>name</var> denoted a right, but not a receive right.
</dl>
<h3>RELATED INFORMATION</h3>
<p>
Functions:
<a href="mach_port_allocate.html"><strong>mach_port_allocate</strong></a>,
<a href="mach_port_allocate_name.html"><strong>mach_port_allocate_name</strong></a>,
<a href="mach_port_set_attributes.html"><strong>mach_port_set_attributes</strong></a>.
<p>
Data Structures:
<a href="mach_port_limits.html"><strong>mach_port_limits</strong></a>,
<a href="mach_port_status.html"><strong>mach_port_status</strong></a>.
